package com.designpatternspart2.behavioraldesignpatterns.templatemethodpattern;


/**
 *
 * @author Lance
 */
public abstract class Meal
{

    public final void doMeal()
    {
        prepareIngredients();
        cook();
        eat();
        cleanUp();
    }

    public abstract void prepareIngredients();

    public abstract void cook();

    public String eat()
    {
        return "Mmm that`s good!";
    }

    public abstract void cleanUp();
}
